package com.personal.system.service.content;

import com.baomidou.mybatisplus.extension.service.IService;
import com.personal.common.result.Result;
import com.personal.system.entity.content.Article;
import com.personal.system.entity.vo.ArticleDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface ArticleService extends IService<Article> {

    /**
     * 后台分页获取文章
     * @param map 参数map
     * @return
     */
    Result selectArticleList(Map<String,Object> map);

    /**
     * 后台根据主键获取文章详情
     * @param id 主键id
     * @return
     */
    Result selectArticleById(Long id);

    /**
     * 添加文章
     * @param article 文章对象
     * @return
     */
    Result insertArticle(ArticleDTO article);

    /**
     * 修改文章
     * @param article 文章对象
     * @return
     */
    Result updateArticle(ArticleDTO article);


    /**
     * 后台批量删除文章
     * @param ids 文章id集合
     * @return
     */
    Result deleteBatchArticle(List<Long> ids);

    /**
     * 置顶文章
     * @param article 文章对象
     * @return
     */
    Result topArticle(ArticleDTO article);

    /**
     * 发布或下架文章
     * @param article 文章对象
     * @return
     */
    Result psArticle(ArticleDTO article);

    /**
     * 百度seo
     * @param ids 文章id集合
     * @return
     */
    Result seoBatch(List<Long> ids);

    /**
     * 爬取文章
     * @param url 文章地址
     * @return
     */
    Result reptile(String url);

    /**
     * 随机获取图片
     * @return
     */
    Result randomImg();

    Result pdfAnalysis(MultipartFile file);

}
